Software frameworks, such as the Microsoft® .NET framework, can include a large library of coded solutions to common programming problems. The framework's library provides a large range of features including user interface, web application development, etc. Users, such as software developers and administrators, combine their own code with the framework class library (e.g., .NET class library) to produce applications.
Various object driven shell platforms, such as Windows® PowerShell™, consists of a command-line shell and associated scripting language built on top of, and integrated with, the software framework (e.g., .NET Framework). An object driven shell platform can execute shell commands (e.g., PowerShell™ cmdlets), return results as objects, and can provide full access to Component Object Model (COM) and Windows Management Instrumentation (WMI), enabling users to perform administrative tasks on both local and remote Windows® systems. An object driven shell platform (e.g., PowerShell™) can also provide a hosting mechanism with which the runtime (e.g., PowerShell™ runtime) can be embedded inside other applications. These applications can then leverage the object driven shell platform functionality to implement certain operations.
Web services are distributed computing technology that allow users to create client and server applications. A software framework can include a set of capabilities in products that enables people, information, systems, and devices to connect and exchange information seamlessly through the use of Web services. For example, the .NET Framework can provide Web service proxy objects that represent the Web service as a .NET Framework object. Web services are typically application programming interfaces (API) that may be accessed, for example, via SOAP (Simple Object Access Protocol) and executed on a remote system hosting the requested service. Many companies rely on Web services for their enterprise applications. For example, a company may provide a virtualization environment and have system administrators and technical staff to maintain the virtualization environment. Service providers, such as for virtualization management services, can provide virtualization management Web service methods to allow system administrators and technical staff the management functionality to maintain their virtualization environment. For example, the system administrators can use the virtualization management Web services to backup particular virtual machines and restart the virtual machines once a backup is complete.
Software developers, system administrators, and/or technical staff, for example, for a company that provides a virtualization environment, can use an object driven shell platform, such as PowerShell™, to utilize virtualization management Web services. Traditionally, a company would hire and manage one or more software developers to manually write code to communicate to a Web service and to create the object driven shell platform commands code (e.g., as cmdlets) for all of the methods in the Web service. Such projects can take a significant amount of time to develop and manage a team of software developers, especially when a company uses a large number of Web services (or Web service end points) provided by different service providers.